System and Method for Navigation Assistance

ABSTRACT

A system and method are provided for navigation correction assistance. The method provides a vehicle with a camera and an autonomous navigation system comprising a navigation buoy database and a navigation application. The navigation application visually acquires a first navigation buoy with an identity marker and accesses the navigation buoy database, which cross-references the first navigation buoy identity marker to a first spatial position. A first direction marker on the first navigation buoy is also visually acquired. In response to visually acquiring the first direction marker, a first angle is deter pined between the camera and the first spatial position. A first distance may also be determined between the vehicle and the first navigation buoy using visual methods or auxiliary position or distance measurement devices. Then, in response to the first spatial position, the first angle, and the first distance, the spatial position of the vehicle can be calculated using trigonometry.

BACKGROUND OF THE INVENTION 1. Field of the Invention

This invention generally relates to autonomous navigation and, moreparticularly, to a system and method for using visual navigation buoyswith predetermined locations to aid in the task of autonomousnavigation.

2. Description of the Related Art

In navigation, odometry is the use of data from the movement ofactuators to estimate change in position over time through devices suchas rotary encoders to measure wheel rotations. Visual odometry is theprocess of determining equivalent odometry information using sequentialcamera images to estimate the distance traveled. There are many existingapproaches to visual odometry are based on steps of image acquisitionand correction, feature detection and tracking, the estimation of cameramotion, and the calculation of feature geometric relationships.

Egomotion is defined as the 3D motion of a camera within an environment.In the field of computer vision, egomotion refers to estimating acamera's motion relative to a rigid scene. An example of egomotionestimation would be estimating a car's moving position relative to lineson the road or street signs being observed from the car itself. The goalof estimating the egomotion of a camera is to determine the 3D motion ofthat camera within the environment using a sequence of images taken bythe camera. The process of estimating a camera's motion within anenvironment involves the use of visual odometry techniques on a sequenceof images captured by the moving camera. As noted above, this may bedone using feature detection to construct an optical flow from two imageframes in a sequence generated from either single cameras or stereocameras. Using stereo image pairs for each frame, for example, helpsreduce error and provides additional depth and scale information. Stereovision uses triangulation based on epipolar geometry to determine thedistance to an object.

Currently, most autonomous robot navigation systems are implementedbased on a high end sensor, such as a laser scanner, high accuracy GPSreceiver, or orientation sensor (inertia measurement unit (IMU)). Thesesensors add to the cost of the robots, making them unaffordable for manyapplications. Visual odometry offers the potential of added redundancyto increase accuracy and/or cheaper equipment costs, but at the expenseof high computation difficulty.

It would be advantageous if visual odometry could be simplified with theuse of landmarks having predefined locations to aid in the task ofautonomous navigation.

SUMMARY OF THE INVENTION

Disclosed herein are a system and method permitting an autonomousvehicle to apply high accuracy corrections derived from visuallyidentifiable navigation buoys, independent of any other navigationalmethods, such as global positioning satellites (GPS), which may also bein use. As the term is used herein, “navigation buoy” or “buoy” means avisual navigation guidepost or landmark or other marking devicepositioned on land and not in water. Alternative terms for “navigationbuoy” or “buoy” to describe that element of the present inventioninclude, for example, landmark, mark, guidepost, post, beacon, markerand identifier.

With the advent of economical high resolution optical cameras, witheconomical but high quality optical and digital zoom, an autonomousvehicle can read highly detailed information from a marker (buoy).Therefore, information can be encoded on a marker that permits anautonomous vehicle to extract detailed navigational information. Thebuoys have a known location (latitude/longitude/height), and thelocations of the buoys are known to the autonomous vehicle. The angularrelationship between the buoys is known to the autonomous vehicle, aswell as the exact distance between two or more markers. The buoys areencoded with identifiers such as labels like “21A” and “21B”, orbarcodes that can be read optically. The buoys also have a form ofangular degree coding on them.

The autonomous vehicle “sees” one or more buoys and identifies the buoysvia the labels or the barcodes. The vehicle determines the distances tothe buoys via laser or GPS measurements, or through optical estimation.By reading the angular degree coding from the markers, the vehiclecalculates its exact position using basic trigonometry functions (e.g.,angle/side/angle). The buoys can be illuminated either internally orexternally for night time use

Accordingly, a method is provided for navigation correction assistance.The method provides a vehicle with a camera and an autonomous navigationsystem comprising a processor, a non-transitory memory, and a navigationbuoy database stored in the memory. A navigation application is alsostored in the memory. The navigation application visually acquires afirst navigation buoy with an identity marker and accesses thenavigation buoy database, which cross-references the first navigationbuoy identity marker to a first spatial position. A first directionmarker on the first navigation buoy is also visually acquired. Inresponse to visually acquiring the first direction marker, a first angleis determined between the camera and the first spatial position. A firstdistance may also be determined between the vehicle and the firstnavigation buoy. Then, in response to the first spatial position, thefirst angle, and the first distance, the spatial position of the vehiclecan be known. The first distance may be determined using one of thefollowing: laser measurement (LiDAR), radar measurement, visualmeasurement (visual odometry), GPS information, or inertial measurementdead reckoning.

If a second navigation buoy with an identity marker is visuallyacquired, the navigation buoy database can be accessed tocross-reference the second navigation buoy identity marker to a secondspatial position. By visually acquiring a second direction marker on thesecond navigation buoy, a second angle between the camera and the secondspatial position can be determined. Then, in response to the firstspatial position, the second spatial position, the first angle, and thesecond angle, the spatial position of the vehicle can be determined.

More explicitly, determining the first angle includes initiallyidentifying a first quadrant with a first quadrant boundary marker,where the first quadrant represents a first predetermined generalgeographic direction (e.g., North-East) divided into a plurality ofdegrees with corresponding degree markers. The first quadrant boundaryrker represents a predetermined number of degrees associated with anexplicit geographic direction (e.g., 0 degrees or North). Then, thenumber of degree markers between the first quadrant boundary and thefirst direction marker is counted, and the count is added to thepredetermined number of degrees to calculate the first angle. Typically,the first direction marker is a degree marker in the centerline of avehicle camera image.

Additional details of the above-described method, a navigation buoysystem, and a system for navigationcorrection assistance are providedbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a plan view of a navigation buoy system.

FIG. 2 is a detailed perspective view of four buoys.

FIG. 3A and 3B are, respectively, detailed views of a buoy andof degreemarkers.

FIG. 4 is a schematic block diagram of a system for navigationcorrection assistance.

FIG. 5 is a depiction a buoy to support the explanation of an exemplaryprocess for acquiring the angle between a buoy and the vehicle camera.

FIG. 6 depicts an example of the system described in FIG. 4 withspecific distance and angle measurements.

FIG. 7 is a flowchart illustrating a method for navigation correctionassistance.

DETAILED DESCRIPTION

FIG. 1 is a plan view of a navigation buoy system. The system 100comprises a plurality of visual navigation buoys 102 a through 102 n. Inthis example, n=4, but more generally n is an integer not limited to anyparticular value. Each visual navigation buoy 102 a-102 n has apredetermined spatial position (e.g., latitude, longitude, and height),respectively, at positions w, x, y, and z. The buoys, which may also bereferred to as uideposts, landmarks, beacons, or markers, have positionsthat are typically fixed. In the event that the buoy positions areeither intentionally or unintentionally moved, their moved positions inknown. As explained in more detail below, buoy positions are maintainedin buoy (position) database. Although not explicitly shown, the buoys beequipped with a global positioning satellite (GPS) receiver to determinetheir position, and a transmitter to broadcast their locationcoordinates.

FIG. 2 is a detailed perspective view of four buoys. Each buoy has anidentity marker cross-referenced to its spatial position, and acircumference with a plurality of direction markers. For example, buoy102 a has identity marker 200 a and buoy 102 n has identity marker 200n. As shown, the identity markers are harcodes, but they could also benumber letters, or any other kind of visually recognizable symbol.

As shown, the direction markers may be organized into quadrants. Usingbuoy 102 a as an example, first quadrants 204 and second quadrant 206are visible. Each quadrant is associated with a general geographicdirection (e.g., North-East, South-West) and divided into a plurality ofdegrees. Each quadrant boundary is associated with a predeterminednumber of degrees cross-referenced to an explicit geographic direction.Again using buoy 102 a as an example, quadrant boundary 208 isassociated with 0 degrees, which may be North. The quadrants aresub-divided by degree markers 210. In a 360 degree system, thecircumference of a buoy may be circumscribed by 360 degree markers,although this number may vary depending on accuracy requirements.

Each quadrant is uniquely visually marked. Using buoy 102 a as anexample, quadrant 206 is identified by no horizontal marks (stripes ofinterruption in the degree marks 210) and quadrant 204 is identified by3 horizontal marks. By visually identifying these two quadrants, thequadrant boundary 208 can be determined, or more explicitly, theexplicit geographic direction (0 degrees, North) of the quadrantboundary is known. To continue the example using buoy 102 c, thirdquadrant 212 and fourth quadrant 214 can be visually identified, whichpermits the identification of quadrant boundary 216, and therefore, theexplicit geographic direction associated with 180 degrees (South).

FIG. 3A and 3B are, respectively, detailed views of a buoy and of degreemarkers. In FIG. 3A buoy 300 comprises identity makers 302, visiblequadrants 304 and 306, quadrant boundary 308, and degree markers. Asshown in FIG. 3B, the degree markers arranged by decade 310 (e.g., 150degrees) and sub-divided with degree marks 312.

FIG. 4 is a schematic block diagram of a system for navigationcorrection assistance. The system 400 comprises a first avigation buoy102 a having a predetermined spatial position, an identity marker, andacircumference with predetermined direction markers (see FIG. 2 fordetails). The system 400 further comprises a vehicle 402, a camera 404mounted in the vehicle having an output on line 406 to supply images.Although a single camera is shown, a stereo camera system may also beemployed. The system 400 also comprises a processor 407, non-transitorymemory 408, and visual navigation buoy database 410 stored in the memorycomprising navigation buoy identify markers cross-referenced to spatialpositions. A navigation application 412 is stored in memory and isenabled as a sequence of processor executable instructions. Thenavigation application 412 has an interface (input/output (IO) port) 414to receive images from the camera on line 406.

The navigation application 412 visually acquires the first navigationbuoy 102 a, access the navigation buoy database 410 to determine a firstspatial position associated with the first navigation buoy identitymarker (200 a, see FIG. 2). The phrase “visually acquire” should beunderstood in the context of some type of visual odometry algorithm thatidentifies and tracks features that have been converted from image datasupplied by the camera 404 to digital information that can be processedin cooperation between the processor 407 and navigation application 412.The navigation application 412 visually acquires a first directionmarker 416 on the first navigation buoy 102 a, and determines a firstangle 418 between the camera 404 and the first spatial position. Asshown, the processor 407, database 410, and navigation application 412are co-located with the vehicle in a controller 420. Alternatively butnot shown, some or all of these components may be located off thevehicle, and connected via a wireless communications interface. Note: ifthe buoys are capable of broadcasting their position and the vehicle isequipped with a receiver to accept position broadcasts from the buoys,then the database may not be required.

The navigation application 412 also has an interface to accept ameasurement of a first distance 422 between the vehicle 402 and thefirst navigation buoy 102 a. In response to knowing the first spatialposition of the first buoy 102 a, the first angle 418, and the firstdistance 422, the navigation application can determine the spatialposition of the vehicle 402. A measurement device has an outputinterface to supply position-related data for calculating the firstdistance measurement. The measurement device ay be a hardware device 424such as a laser range finder (laser detection and ranging (LiDAR)),radar, a global positioning satellite (GPS) receiver, or an inertialmeasurement unit (IMU). The laser and radar devices actually measure thefirst distance 422, while GPS and IMU data may be used to calculate thefirst distance by comparing the known location of a buoy to theestimated location of the vehicle 402. Alternatively, the measurementdevice may be a distance visual calculation (visual odometry (VO))module 426 stored in memory 408 and enabled as a sequence of processorexecutable instructions. In another aspect, the first navigation buoy102 a has a visible feature with a predetermined size, such as apredetermined height or diameter. The navigation application 412,perhaps in cooperation with the VO module 426, determines the firstdistance 433 between the vehicle 402 and the first navigation buoy 102 aby calculating the relationship between the predetermined size of thebuoy feature and the amount of image space occupied by the buoy feature.If the camera is equipped with a zoom lens, the first distance can becalculated in response to determining the degree of zoom required tooccupy a predetermined portion of the camera image. In this case, thenavigation application may exercise control over the zoom function ofthe camera.

As described above, the system is able to determine the position of thevehicle by visually acquiring a single buoy. However, the systemtypically comprises a plurality of buoys, and the acquisition of morethan one buoy may improve the accuracy of the vehicle positioncalculation. Shown is a second navigation buoy 102 n having apredetermined spatial position, an identity marker 200 n, and acircumference with predetermined direction markers (i.e., seconddirection marker 428). The navigation application 412 visually acquiresthe second navigation buoy 102 n, and accesses the navigation buoydatabase 410 to cross-reference the second navigation buoy identitymarker 200 n to a second spatial position. The navigation application412 visually acquires a second direction marker 428 on the secondnavigation buoy 102 n, determines a second angle 430 between the camera404 and the second spatial position, and in response to the firstspatial position, the second spatial position, the first angle 418, andthe second angle 430, determines the spatial position of the vehicle402. That is, the spatial position of the vehicle can be calculated withgreater accuracy knowing both the first angle 418 and the second angle430. Even greater accuracy is obtained if the second distance 432,between the second buoy 102 n and the camera 404, is known. Although notexplicitly shown in this figure, the vehicle may visually acquire threeor more buoys. Each additionally acquired buoy improves the accuracy ofthe vehicle position calculation. However, the degree of improvementdiminishes with each added buoy.

As explained above in the description of FIGS. 2, 3A, and 3B, thenavigation buoy direction markers are organized into quadrants,eachquadrant associated with a general geographic direction and dividedinto a plurality of degrees, where the quadrant boundaries areassociated with a predetermined number of degrees cross-referenced to anexplicit geographic direction.

FIG. 5 is a depiction of a buoy to support the explanation of anexemplary process for acquiring the angle between a buoy and the vehiclecamera. The navigation application identifies a quadrant 206 with afirst quadrant boundary 208, counts the number of degree markers 210between the first quadrant boundary and the first direction marker 416,creating a count. The navigation application adds the count to thepredetermined number of degrees associated with the first quadrantboundary (e.g., 0 degrees) to calculate the first angle. In the exampleshown, the count is equal to 6, as the direction marker 416 is sixdegree markers 210 from the first quadrant boundary 208. Thus, the firstangle is 354 (360−6) degrees. Typically, the navigation application 412visually acquires the first direction marker 416 by selecting a degreemarker in a centerline of the camera image.

Returning to FIG. 4, in one aspect the system 400 comprises a referencemeasurement device mounted in the vehicle, for example the camera 404,having an output interface to supply position-related data. In addition,an auxiliary measurement device (e.g., measurement device 424) may bemounted in the vehicle 402 a predetermined offset 434 from the referencemeasurement device, also having an output interface to supply theposition-related data. The navigation application 412 acceptsposition-related data from the reference 404 and auxiliary 424measurement devices, applies corrections to account for the offset 434,and merges the reference and auxiliary measurement device data. As notedabove, the auxiliary measurement device 424 may be a GPS receiver.

The controller 420 may be enabled as a personal computer (PC), Maccomputer, tablet, workstation, server, PDA, or handheld device. Theprocessor 407 may be connected to memory 408 and IO 414 via aninterconnect bus 436. The memory 408 may include a main memory, a readonly memory, and mass storage devices such as various disk drives, tapedrives, etc. The main memory typically includes dynamic random accessmemory (DRAM) and high-speed cache memory. In operation, the main memorystores at least portions of instructions and data for execution by theprocessor 407. The IO 414 may be a modem, an Ethernet card, wireless(Bluetooth or WiFi), or any other appropriate data. communicationsdevice such as USB. The physical communication links may be optical,wired, or wireless.

As noted above, the buoys or markers have a form of angular degreecoding on them, with angular information presented based on quadrants,which permits an autonomous vehicle to instantly determine itspositional relationship with a buoy by measuring the distance to thebuoy. The distance measurement can be made using a laser based measuringmethod or an optical camera to estimate the distance. In one exact sizeof a buoy is known and the distance to a buoy can be calculated based onhow much zoom is needed to accomplish a specific task such a read abarcode or have the buoy fill a known area of the image. Positionrelated measurements made by devices other than the camera can beadjusted based upon the offset between the auxiliary device and camera.

As noted in the description of FIG. 5, an initial step identifies whatquadrant or quadrants can be seen. Then, the quadrant in which the imagecenterline is determined. The exact degree relationship between thecamera and buoy is made by determining which sub-angle marking is in thecenterline of the image of the buoy. Once the autonomous vehicle hasperformed this calculation for each buoy knows the distance to eachbuoy, its exact angular relationship with each buoy, the exact GPScoordinates of each buoy, the exact distance between the two buoys, andthe exact angular relationship between the two buoys. Using simpletrigonometric relationships the autonomous vehicle can calculate t exactposition. The various quadrants have patterns that vary, so that thecamera can easily identify what quadrant(s) it is looking at, and startmaking the more detailed calculation regarding the autonomous vehicle'sangular relationship (bearing) between it and the buoy. This is done tosimplify the need for the autonomous vehicle to perform additional textto numeric conversion. A compass on the autonomous vehicle can also beused to enhance the calculations.

An offset can be included in the calculations to move the calculatedpositon to either the center of the vehicle, or to the position when aGPS receiver or other position or distance measurement device is locatedon the vehicle, to provide an exact vehicle fix.

FIG. 6 depicts an example of the system described in FIG. 4 withspecific distance and angle measurements. As shown in the figure,direction marker 416 is located at degree marker 246° of buoy 102 a,making first angle 418 equal to 24°. Direction marker 430 is located atdegree marker 282° of buoy 102 n, making the second angle 430 equal to12°. From the perspective of buoy 102 a, buoy 102 n is sited along adirection marker equal to 148°, and from the perspective of buoy 102 n,buoy 102 a is sited along a direction marker at 328°. The first distance422 is 25 feet, the second distance 432 is 35 feet, and the distancebetween buoys is 21 feet.

FIG. 7 is a flowchart illustrating a method for navigation correctionassistance. Although the method is depicted as a sequence of numberedsteps for clarity, the numbering does not necessarily dictate the orderof the steps. It should be understood that some of these steps may beskipped, performed in parallel, or performed without the requirement ofmaintaining a strict order of sequence. Generally however, the methodfollows the numeric order of the depicted steps. The method starts atStep 700.

Step 702 provides a vehicle with a camera and an autonomous navigationsystem comprising a processor, a non-transitory memory, a visualnavigation buoy database stored in the memory, and a navigationapplication enabled as a sequence of processor executable instructionsstored in the memory for autonomously navigating. In Step 704 thenavigationapplication visually acquires a first visual navigation buoywith an identity marker. Step 706 accesses the navigation buoy databaseto cross-reference the first navigation buoy identity marker to a firstspatial position. Step 708 visually acquires a first direction marker onthe first navigation buoy. In response to visually acquiring the firstdirection marker, Step 710 determines a first angle between the cameraand the first spatial position. Step 712 determines a first distancebetween the vehicle and the first navigation buoy. In response to thefirst spatial position, the first angle, and the first distance, Step714 determines a spatial position of the vehicle.

In one aspect, Step 712 determines the first distance using lasermeasurement, radar measurement, visual (VO) measurement, GPSinformation, or inertial measurement dead reckoning. Alternatively, inStep 704 or 708 the navigation application visually acquires anavigation buoy having a visible feature witha predetermined size. Then,determining the first distance between the vehicle and the firstnavigation buoy in Step 712 includes calculating a relationship betweenthe predetermined size of the buoy feature and the amount of cameraimage space occupied by the buoy feature. In another variation where thecamera has a zoom lens, Step 704 or 708 adjusts the camera zoom tovisually acquire the navigation buoy visible feature, and Step 712calculates the relationship between the predetermined size of the buoyvisible feature and the degree of zoom required to occupy apredetermined portion of camera image space.

In one aspect, Step 702 provides a vehicle with a reference measurementsystem and an auxiliary measurement system offset from the referencemeasurement system by a predetermined amount. Then, determining thefirst distance between the vehicle and the first navigation buoy in Step712 includes the following substeps. Step 712 a accepts position-relateddata from the reference and auxiliary measurement systems. Step 712 bapplies corrections to account for the offset, and Step 712 c merges thereference and auxiliary measurement system position-related data. Oneexample of an auxiliary measurement system may be a GPS receiver, andone example of a reference measurement system may be the camera.

In another aspect, Step 716 visually acquires a second navigation buoywith an identity marker. Step 718 accesses the navigation buoy databaseto cross-reference the second navigation buoy identity marker to asecond spatial position. Step 720 visually acquires a second directionmarker on the second navigation buoy. In response to visually acquiringthe second direction marker, Step 722 determines a second angle betweenthe camera and the second spatial position. Then, in response to thefirst spatial position, the second spatial position, the first angnd thesecond angle, Step 714 determines the spatial position of the vehicle(with additional data points). The method may be extended to visuallyacquire additional buoys.

Determining the first angle in Step 710 may include substeps. Step 710 ainitially identifies a first quadrant with a first quadrant boundary,where the first quadrant represents a first predetermined generalgeographic direction divided into a plurality of degrees withcorresponding degree markers. The first quadrant boundary represents apredetermined number of degrees associated with an explicit geographicdirection. Step 710 b counts the number of degree markers between thefirst quadrant boundary and the first direction marker, creating acount. Step 710 c adds the count to the predetermined number of degreesto calculate the first angle. Typically, the first direction marker isvisually acquired by selecting the degree marker in a centerline of avehicle camera image.

A system and method have been provided for aiding autonomous navigationsusing buoys with predetermined locations and angular markings. Examplesof particular hardware units and measurement techniques have beenpresented to illustrate the invention. However, the invention is notlimited to merely these examples. Other variations and embodiments ofthe invention will occur to those skilled in the art.

We claim:
 1. A method for navigation correction assistance, the methodcomprising: providing a vehicle with a camera and an autonomousnavigation system comprising a processor, a non-transitory memory, avisual navigation buoy database stored in the memory, and a navigationapplication enabled as a sequence of processor executable instructionsstored in the memory for autonomously navigating; the navigationapplication visually acquiring a first visual navigation buoy with anidentity marker; accessing the navigation buoy database tocross-reference the first navigation buoy identity marker to a firstspatial position; visually acquiring a first direction marker on thefirst navigation buoy; and, in response to visually acquiring the firstdirection marker, determining a first angle between the camera and thefirst spatial position.
 2. The method of claim 1 further comprising:determining a first distance between the vehicle and the firstnavigation buoy; and, in response to the first spatial position, thefirst angle, and the first distance, determining a spatial position ofthe vehicle.
 3. The method of claim 2 wherein determining the firstdistance includes using a method selected from a group consisting oflaser measurement, radar measurement, visual measurement, globalpositioning satellite (GPS) information, or inertial measurement deadreckoning.
 4. The method of claim 1 further comprising: visuallyacquiring a second visual navigation buoy with an identity marker;accessing the navigation buoy database to cross-reference the secondnavigation buoy identity marker to a second spatial position; visuallyacquiring a second direction marker on the second navigation buoy; inresponse to visually acquiring the second direction marker, determininga second angle between the camera and the second spatial position; and,in response to the first spatial position, the second spatial position,the first angle, and the second angle, determining the spatial positionof the vehicle.
 5. The system of claim 1 wherein determining the firstangle includes: initially identifying a first quadrant with a firstquadrant boundary, where the first quadrant represents a firstpredetermined general geographic direction divided into a plurality ofdegrees with corresponding degree markers, and where the first quadrantboundary represents a predetermined number of degrees associated with anexplicit geographic direction; counting the number of degree markersbetween the first quadrant boundary and the first direction marker,creating a count; and, adding the count to the predetermined number ofdegrees to calculate the first angle.
 6. The method of claim 5 whereinvisually acquiring the first direction marker includes selecting adegree marker in a centerline of a vehicle camera image.
 7. The methodof claim 2 wherein providing the vehicle includes providing a vehiclewith a reference measurement system and an auxiliary measurement systemoffset from the reference measurement system by a predetermined amount;and, wherein determining the first distance between the vehicle and thefirst navigation buoy includes: accepting position-related data from thereference and auxiliary measurement systems; applying corrections toaccount for the offset; and, merging the reference and auxiliarymeasurement system position-related data.
 8. The method of claim 2wherein the navigation application visually acquiring a first navigationbuoy includes visually acquiring a navigation buoy having a visiblefeature with a predetermined size; and, wherein determining the firstdistance between the vehicle and the first navigation buoy includescalculating a relationship between the predetermined size of the buoyvisible feature and the amount of camera image space occupied by thebuoy feature.
 9. The method of claim 8 wherein providing the cameraincludes providing a camera with a zoom lens; wherein visually acquiringthe navigation buoy visible feature with the predetermined size includesadjusting the camera zoom to visually acquire the navigation buoyvisible feature; and, wherein calculating the relationship between thepredetermined size of the buoy visible feature and the amount of cameraimage space occupied by the buoy feature includes calculating therelationship between the predetermined size of the buoy visible featureand the degree of zoom required to occupy a predetermined portion ofcamera image space.
 10. A system for navigation correction assistancecomprising: a first visual navigation buoy having a predeterminedspatial position, an identity marker, and a circumference withpredetermined direction markers; a camera mounted in a vehicle having anoutput to supply images; a processor; a non-transitory memory; a visualnavigation buoy database stored in the memory comprising navigation buoyidentify markers cross-referenced to spatial positions; and a navigationapplication stored in the memory and enabled as a sequence of processorexecutable instructions, the navigation application having an interfaceto receive images from the camera, visually acquire the first visualnavigation buoy, access the navigation buoy database to determine afirst spatial position associated with the first navigation buoyidentity marker, visually acquire a first direction marker on the firstnavigation buoy, and determine a first angle between the camera and thefirst spatial position.
 11. The system of claim 10 wherein thenavigation application has an interface to accept a measurement of afirst distance between the vehicle and the first navigation buoy, and inresponse to the first spatial position, the first angle, and the firstdistance, determine a spatial position of the vehicle.
 12. The system ofclaim 11 further comprising: a measurement device having an outputinterface to supply position-related data for calculating the firstdistance measurement, where the device is selected from a groupconsisting of a laser range finder, radar, distance visual calculationmodule stored in memory as a sequence of processor executableinstructions, a global positioning satellite (GPS) receiver, or aninertial measurement unit (IMU).
 13. The system of claim 10 furthercomprising: a second visual navigation buoy having a predeterminedspatial position, an identity marker, and a circumference withpredetermined direction markers; and, wherein the navigation applicationvisually acquires the second navigation buoy, accesses the navigationbuoy database to cross-reference the second navigation buoy identitymarker to a second spatial position, visually acquires a seconddirection marker on the second navigation buoy, determines a secondangle between the camera and the second spatial position, and inresponse to the first spatial position, the second spatial position, thefirst angle, and the second angle, determines the spatial position ofthe vehicle.
 14. The system of claim 10 wherein the first navigationbuoy direction markers are organized into quadrants, each quadrantassociated with a general geographic direction and divided into aplurality of degrees, where the quadrant boundaries are associated witha predetermined number of degrees cross-referenced to an explicitgeographic direction; and, wherein the navigation application identifiesa first quadrant with a first quadrant boundary, counts the number ofdegree markers between the first quadrant boundary and the firstdirection marker, creating a count, and adds the count to thepredetermined number of degrees associated with the first quadrantboundary to calculate the first angle.
 15. The system of claim 14wherein the navigation application visually acquires the first directionmarker by selecting a degree marker in a centerline of the camera image.16. The system of claim 11 further comprising: a reference measurementdevice mounted in the vehicle and having an output interface to supplyposition-related data; an auxiliary measurement device mounted in thevehicle a predetermined offset from the reference measurement device,having an output interface to supply the position-related data; and,wherein the navigation application accepts position-related data fromthe reference and auxiliary measurement devices, applies corrections toaccount for the offset, and merges the reference and auxiliarymeasurement device data.
 17. The system of claim 11 wherein the firstnavigation buoy has a visible feature with a predetermined size; and,wherein the navigation application determines the first distance betweenthe vehicle and the first navigation buoy by calculating a relationshipbetween the predetermined size of the buoy feature and the amount ofcamera image space occupied by the buoy feature.
 18. The system of claim17 wherein the camera has a zoom lens; and, wherein the navigationapplication determines the first distance by calculating therelationship between the predetermined size of the buoy visible featureand the degree of zoom required to occupy a predetermined portion ofcamera image space.
 19. A navigation buoy system comprising: a pluralityof navigation buoys, each navigation buoy having a predetermined spatialposition, an identity marker cross-referenced to its spatial position,and a circumference with a plurality of direction markers.
 20. Thesystem of claim 19 wherein the direction markers are organized intoquadrants, each quadrant associated with a general geographic directionand divided into a plurality of degrees, and where each quadrantboundary is associated with a predetermined number of degreescross-referenced to an explicit geographic direction.